home *** CD-ROM | disk | FTP | other *** search
/ PC Play 128 / pc play 128.iso / Demo / xmr / xmr.exe / {app} / Shaders / vs / vs2_0_water.vsh < prev   
Encoding:
Text File  |  2007-07-26  |  4.2 KB  |  141 lines

  1. vs_2_0
  2. // DX9 Vertex shader generated by NVIDIA Cg compiler
  3. // cgc version 1.3.0001, build date Jan  7 2005 14:01:35
  4. // command line args: -q -profile vs_2_0 -entry main -profileopts dcls
  5. // source file: vs2_0_water.cg
  6. // nv30vp backend compiling 'main' program
  7. def c22, 1, -1, 0, 0
  8. def c21, 1, 0, 0.5, 0
  9. //vendor NVIDIA Corporation
  10. //version 1.0.02
  11. //profile vs_2_0
  12. //program main
  13. //semantic main.WorldViewProjMatrix
  14. //semantic main.WorldViewMatrix
  15. //semantic main.WorldMatrix
  16. //semantic main.EyePos
  17. //semantic main.Light
  18. //semantic main.Fresnel
  19. //semantic main.ReflerOffset
  20. //semantic main.Time
  21. //semantic main.WaveDir
  22. //semantic main.WaveTextOffset1
  23. //semantic main.WaveTextOffset2
  24. //semantic main.WaveHeight
  25. //var float4x4 WorldViewProjMatrix :  : c[0], 4 : 1 : 1
  26. //var float4x4 WorldViewMatrix :  : c[4], 4 : 2 : 1
  27. //var float4x4 WorldMatrix :  : c[8], 4 : 3 : 1
  28. //var float4 EyePos :  : c[12] : 4 : 1
  29. //var float4 Light.Position :  : c[13] : 5 : 1
  30. //var float4 Light.Attenuation :  : c[14] : 5 : 1
  31. //var float Light.Range :  : c[15] : 5 : 1
  32. //var float Light.Power :  :  : 5 : 0
  33. //var float4 Fresnel :  : c[16] : 6 : 1
  34. //var float ReflerOffset :  : c[17] : 7 : 1
  35. //var float4 Time :  : c[18] : 8 : 1
  36. //var float4 WaveDir :  :  : 9 : 0
  37. //var float4 WaveTextOffset1 :  : c[19] : 10 : 1
  38. //var float4 WaveTextOffset2 :  : c[20] : 11 : 1
  39. //var float4 WaveHeight :  :  : 12 : 0
  40. //var float4 I.Position : $vin.POSITION : POSITION : 0 : 1
  41. //var float3 I.Normal : $vin.NORMAL : NORMAL : 0 : 1
  42. //var float2 I.TexCoord0 : $vin.TEXCOORD0 : TEXCOORD0 : 0 : 1
  43. //var float3 I.Tangent : $vin.TEXCOORD1 : TEXCOORD1 : 0 : 1
  44. //var float4 main.HPOS : $vout.POSITION : HPOS : -1 : 1
  45. //var float4 main.LightDir : $vout.COLOR0 : COL0 : -1 : 1
  46. //var float4 main.LightAtten : $vout.COLOR1 : COL1 : -1 : 1
  47. //var float4 main.TexCoord0 : $vout.TEXCOORD0 : TEX0 : -1 : 1
  48. //var float4 main.TexCoord1 : $vout.TEXCOORD1 : TEX1 : -1 : 1
  49. //var float4 main.Refl2D : $vout.TEXCOORD2 : TEX2 : -1 : 1
  50. //var float4 main.EyeToVert : $vout.TEXCOORD3 : TEX3 : -1 : 1
  51. //var float4 main.FresnelRefl : $vout.TEXCOORD4 : TEX4 : -1 : 1
  52. //var float4 main.Tangent : $vout.TEXCOORD5 : TEX5 : -1 : 1
  53. //var float4 main.Normal : $vout.TEXCOORD6 : TEX6 : -1 : 1
  54. //var float4 main.HalfVec : $vout.TEXCOORD7 : TEX7 : -1 : 1
  55. //const c[22] = 1 -1 0 0
  56. //const c[21] = 1 0 0.5 0
  57. dcl_texcoord1 v3
  58. dcl_texcoord0 v2
  59. dcl_normal v1
  60. dcl_position v0
  61.     mov r2.xyz, c21
  62.     mov r0.xyz, v0.xyzz
  63.     mov r0.w, r2.x
  64.     dp4 r1.x, c0, r0
  65.     dp4 r1.y, c1, r0
  66.     dp4 r1.z, c2, r0
  67.     dp4 r1.w, c3, r0
  68.     mov oPos, r1
  69.     mov oT5.xyz, v3.xyzz
  70.     mov oT5.w, r2.y
  71.     mov oT6.xyz, v1.xyzz
  72.     mov oT6.w, r2.y
  73.     dp4 r0.x, c8, v0
  74.     dp4 r0.y, c9, v0
  75.     dp4 r0.z, c10, v0
  76.     dp4 r0.w, c11, v0
  77.     add r5.xyz, c12.xyz, -r0.xyz
  78.     dp3 r2.w, r5.xyz, r5.xyz
  79.     rsq r4.w, r2.w
  80.     add r3.xyz, c13.xyz, -r0.xyz
  81.     dp3 r2.w, r3.xyz, r3.xyz
  82.     rsq r3.w, r2.w
  83.     mul r4.xyz, r3.xyz, r3.w
  84.     mad r3.xyz, r4.w, r5.xyz, r4.xyz
  85.     dp3 r2.w, r3.xyz, r3.xyz
  86.     rsq r2.w, r2.w
  87.     mul oT7.xyz, r2.w, r3.xyz
  88.     mov oT7.w, r2.y
  89.     dp3 r2.w, r4.xyz, r4.xyz
  90.     rsq r2.w, r2.w
  91.     mul r3.xyz, r2.w, r4.xyz
  92.     mad oD0.xyz, r2.z, r3.xyz, r2.z
  93.     mov oD0.w, r2.y
  94.     rcp r3.x, r3.w
  95.     slt r3.y, r3.x, c15.x
  96.     mad r2.w, c14.z, r3.x, c14.y
  97.     mad r2.w, r3.x, r2.w, c14.x
  98.     rcp r2.w, r2.w
  99.     min r3.x, r2.w, r2.x
  100.     add r2.w, r2.x, -r3.y
  101.     mul r2.w, r2.w, r2.y
  102.     mad r2.w, r3.y, r3.x, r2.w
  103.     mad r2.w, r2.z, r2.w, r2.z
  104.     mov oD1, r2.w
  105.     add r3, -c12, r0
  106.     dp4 r0.x, r3, r3
  107.     rsq r0.x, r0.x
  108.     mul r3, r0.x, r3
  109.     mov oT3, r3
  110.     dp3 r0.y, c4.xyz, v1.xyz
  111.     dp3 r0.z, c5.xyz, v1.xyz
  112.     dp3 r0.w, c6.xyz, v1.xyz
  113.     dp3 r0.x, r0.yzw, r0.yzw
  114.     rsq r0.x, r0.x
  115.     mul r0.xyz, r0.x, r0.yzw
  116.     dp3 r0.x, r3.xyz, r0.xyz
  117.     add r0.xy, r2.x, r0.x
  118.     mov r0.zw, c16.x
  119.     lit r0.z, r0
  120.     add r0.x, r2.x, -r0.z
  121.     mad r0.x, c16.y, r0.x, r0.z
  122.     min r0.x, r2.x, r0.x
  123.     max r0.x, r2.y, r0.x
  124.     mov oT4, r0.x
  125.     mov r0.x, c18
  126.     mad oT0.x, r0.x, c19.x, v2.x
  127.     mad oT0.y, r0.x, c19.y, v2.y
  128.     mad oT1.x, r0.x, c20.x, v2.x
  129.     mad oT1.y, r0.x, c20.y, v2.y
  130.     rcp r0.x, r1.w
  131.     mul r1, r1.xyz, r0.x
  132.     mul r0.xy, r2.z, r1.xy
  133.     mad r1.xy, r0.xy, c22.xy, r2.z
  134.     rcp r0.x, r1.z
  135.     mul r0.xyw, c17.x, r0.x
  136.     mov r1.z, r0.xyxw
  137.     min r0, r2.x, r1
  138.     max oT2, r2.y, r0
  139. // 78 instructions
  140. // 6 temp registers
  141.